package org.funtester.performance.books.chapter03.section4;

import org.funtester.performance.books.chapter03.common.ThreadTool;
import org.funtester.performance.books.chapter03.section3.ThreadTask;

import java.util.ArrayList;
import java.util.List;

public class TestEngineDemo {

    public static void main(String[] args) throws InterruptedException {
        int tasksNum = 2;// 任务数,即并发数量
        int totalNum = 30;// 单个任务的总执行次数
        List<ThreadTask> tasks = new ArrayList<>();// 任务集合
        for (int i = 0; i < tasksNum; i++) {
            ThreadTask threadTask = new ThreadTask() {// 创建任务对象

                @Override
                public void test() {
                    ThreadTool.sleep(100);// 模拟业务操作
                }

            };
            threadTask.totalNum = totalNum;// 设置任务的总执行次数
            threadTask.costTime = new ArrayList<>(totalNum);// 设置任务的执行时间集合,设置容量,避免频繁扩容
            tasks.add(threadTask);// 将任务添加到任务集合
        }
        new TaskExecutor(tasks, "性能测试引擎演示",4).start();// 创建并发任务执行器并启动

    }

}
